package com.zs.propertymanage.service.impl;

import com.zs.propertymanage.dataObj.R;
import com.zs.propertymanage.dataObj.entity.House;

public interface HouseService {

    /**
     * 按条件分页获取所有房屋
     *
     * @param search      搜索参数
     * @param currentPage 当前页
     * @param pageSize    每页条数
     * @param orgId       所选组织id
     * @return 查询结果
     */
    R getHouse(String search, Integer currentPage, Integer pageSize, Integer orgId);

    /**
     * 添加房屋对象
     *
     * @param house 房屋对象
     * @return 添加结果
     */
    R addHouse(House house);

    /**
     * 更新房屋对象
     *
     * @param house 房屋对象
     * @return 更新结果
     */
    R updateHouse(House house);

    /**
     * 删除房屋对象
     *
     * @param houseId 房屋ID
     * @return 删除结果
     */
    R deleteHouse(Integer houseId);

    /**
     * 获取所有房屋状态
     *
     * @return 所有房屋状态
     */
    R getAllHouseStatus();

    /**
     * 获取所有房屋类型
     *
     * @return 所有房屋类型
     */
    R getAllHouseType();

    /**
     * 添加房屋类型
     *
     * @param typeName 房屋类型名称
     * @return 添加结果
     */
    R addHouseType(String typeName);

    /**
     * 删除房屋类型
     *
     * @param typeId 房屋类型ID
     * @return 删除结果
     */
    R deleteHouseType(Integer typeId);

    /**
     * 添加房屋状态
     *
     * @param statusName 房屋状态名称
     * @return 添加结果
     */
    R addHouseStatus(String statusName);

    /**
     * 删除房屋状态
     *
     * @param statusId 房屋状态ID
     * @return 删除结果
     */
    R deleteHouseStatus(Integer statusId);
}
